﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Sistema_Totem.Presentacion.Contrato.Proyectos;
using Sistema_Totem.Clases;
using Sistema_Totem.Logica.Comandos;
using Sistema_Totem.Logica.Comandos.ComadoProyecto;
using Sistema_Totem.Logica.Fabricas;
using System.Data;

namespace Sistema_Totem.Presentacion.Presentador.Proyectos
{
    public class PresentadorListarProyectoGerente
    {
        #region Atributos

        private IContratoListarProyectoGerente _vista;
        private Comando<List<Entidad>> _comando;
        private List<Entidad> _proyectos;
        private Proyecto _proyecto;
        private string _mensajeError = "Existio un error al momento de consultar la base de datos";

        #endregion Atributos.

        #region Constructor

        public PresentadorListarProyectoGerente(IContratoListarProyectoGerente _vista)
        {
            this._vista = _vista;
        }

        #endregion Contructor

        #region Métodos

        /// <summary>
        /// Inicializa el Gridview de la vista ListarProyectoGerente.aspx
        /// </summary>
        public void inicializarGridView()
        {
            //Retornamos el comando desde la fabrica

            _comando = FabricaComando.CrearComandoConsultarTodosLosProyectos(1);

            //Ejecutamos el comando que retornará la lista de proyectos completa de base de datos

            _proyectos = _comando.Ejecutar();

            //Instanciamos el DataTable para que sea el surtidor de datos para el GridView

            DataTable _tabla = new DataTable();

            //Agregamos la columnas que vamos a setear.

            _tabla.Columns.Add("Codigo", typeof(string));
            _tabla.Columns.Add("Nombre", typeof(string));
            _tabla.Columns.Add("Area", typeof(string));

            foreach (Proyecto _proyecto in _proyectos)

                _tabla.Rows.Add(_proyecto.Codigo, _proyecto.Nombre, _proyecto.Area);

            _vista.GridViewProyectos.DataSource = _tabla;
            _vista.GridViewProyectos.DataBind();
        }

        public void BuscarProyecto()
        {
            _proyecto = FabricaComando.CrearComandoConsultarProyectoPorNombre
                        (_vista.GridViewProyectos.SelectedRow.Cells[1].Text).Ejecutar() as Proyecto;
            _vista.Sesion["proyecto"] = _proyecto;
            _vista.Redireccionar("../Proyectos/ConsultarProyectoGerente.aspx");
        }

        #endregion Métodos.
    }
}